A SAN (storage array network) is a storage system designed to attach mass storage units, such as disk drives or tape drives, to servers on a computer network. The SAN is sometimes referred to as a “fabric”. The storage device may sometimes be an array of disks known as a RAID array. RAID stands for Redundant Array of Inexpensive Disks, SAN is distinguished from Network-attached storage (NAS) which is the name given to dedicated data storage technology that can be connected directly to a computer network to provide centralized data access and storage to heterogeneous network clients. A SAN uses block level access so that it appears as locally attached storage to device drivers and application software.
The growth of computer networks and the need for high capacity storage is growing with the rise of media applications and web 2.0 environments. It would be useful to take advantage of some of the features of storage systems such as SAN systems, file sharing systems, and others, in these and other emerging, high storage requirement environments. However, there are a number of disadvantages with applying this technology in current configurations.
One current solution is a so called “turn-key” system where all aspects of the SAN and file sharing system are included in a single solution. These turn-key systems include all required hardware and software in the solution. A disadvantage of this system is that it is typically expensive, since there is no competition for individual components of the system. Another disadvantage is the difficulty in scaling the system. Again, with only a single source of equipment, scaling the system is expensive.
Another current approach to providing a storage solution is to use generic file sharing software to control the hardware system. In this technique, the generic software is written to have the most basic storage protocols to maximize the potential compatibility with multiple hardware systems. This solution is typically done at the client/server and/or the OS level with whole file formats being written to provide a file sharing for whatever storage is attached. A disadvantage of the generic software approach is the difficulty of setting up and maintaining the system. There is no specific control or optimization for whatever hardware is being used. If a particular piece of hardware doesn't work with the system, the only solution is to use some other hardware or to revise the code of the generic software. The disadvantage is continuous revising, lack of optimization, compromised performance, and still with limitations on hardware choices. Another disadvantage is that scalability is not guaranteed.
An alternate prior art approach is so-called “generic protocols”. This is the use of generic protocols such as SCSI to provide a file sharing layer so that the storage has to adapt to the protocol for compatibility. Another approach is the NAS system built into Ethernet. This approach has the disadvantage of not being optimized for performance with a particular hardware setup. It also lacks guaranteed scalability. Another problem is that block data needs to be translated into the generic protocol, adding a layer of complexity and lowering performance.